package com.hengxinguotong.hxgtwygsp.ui.app;

import com.hengxinguotong.hxgtwygsp.ui.commonFacility.CommonFacilityActivity;
import com.hengxinguotong.hxgtwygsp.ui.commonFacility.CommonFacilityModule;
import com.hengxinguotong.hxgtwygsp.ui.imgView.ImgViewActivity;
import com.hengxinguotong.hxgtwygsp.ui.imgView.ImgViewModule;
import com.hengxinguotong.hxgtwygsp.ui.login.LoginActivity;
import com.hengxinguotong.hxgtwygsp.ui.login.LoginModule;
import com.hengxinguotong.hxgtwygsp.ui.main.MainActivity;
import com.hengxinguotong.hxgtwygsp.ui.main.MainModule;
import com.hengxinguotong.hxgtwygsp.ui.main.Text.TextFragment;
import com.hengxinguotong.hxgtwygsp.ui.main.Text.TextModule;
import com.hengxinguotong.hxgtwygsp.ui.main.picture.PictureFragment;
import com.hengxinguotong.hxgtwygsp.ui.main.picture.PictureModule;
import com.hengxinguotong.hxgtwygsp.ui.main.video.VideoFragment;
import com.hengxinguotong.hxgtwygsp.ui.main.video.VideoModule;
import com.hengxinguotong.hxgtwygsp.ui.maintenance.MaintenanceActivity;
import com.hengxinguotong.hxgtwygsp.ui.maintenance.MaintenanceModule;
import com.hengxinguotong.hxgtwygsp.ui.member.MemberActivity;
import com.hengxinguotong.hxgtwygsp.ui.member.MemberModule;
import com.hengxinguotong.hxgtwygsp.ui.newView.PublicRevenueInActivity;
import com.hengxinguotong.hxgtwygsp.ui.newView.PublicRevenueInModule;
import com.hengxinguotong.hxgtwygsp.ui.newView.maintenanceFund.MaintenanceFundActivity;
import com.hengxinguotong.hxgtwygsp.ui.newView.maintenanceFund.MaintenanceFundModule;
import com.hengxinguotong.hxgtwygsp.ui.newView.outsourceService.OutsourceServiceActivity;
import com.hengxinguotong.hxgtwygsp.ui.newView.outsourceService.OutsourceServiceModule;
import com.hengxinguotong.hxgtwygsp.ui.newView.ownerComplaintEvaluate.OwnerComplainEvaluateActivity;
import com.hengxinguotong.hxgtwygsp.ui.newView.ownerComplaintEvaluate.OwnerComplainEvaluateModule;
import com.hengxinguotong.hxgtwygsp.ui.newView.periodicReport.PeriodicReportActivity;
import com.hengxinguotong.hxgtwygsp.ui.newView.periodicReport.PeriodicReportModule;
import com.hengxinguotong.hxgtwygsp.ui.newView.projectLeader.ProjectLeaderActivity;
import com.hengxinguotong.hxgtwygsp.ui.newView.projectLeader.ProjectLeaderModule;
import com.hengxinguotong.hxgtwygsp.ui.newView.propertyFeePayment.PropertyFeePaymentActivity;
import com.hengxinguotong.hxgtwygsp.ui.newView.propertyFeePayment.PropertyFeePaymentModule;
import com.hengxinguotong.hxgtwygsp.ui.newView.propertyServiceContentAndStandard.PropertyServiceContentAndStandardActivity;
import com.hengxinguotong.hxgtwygsp.ui.newView.propertyServiceContentAndStandard.PropertyServiceContentAndStandardModule;
import com.hengxinguotong.hxgtwygsp.ui.newView.propertySuperviseInfo.PropertySuperviseInfoActivity;
import com.hengxinguotong.hxgtwygsp.ui.newView.propertySuperviseInfo.PropertySuperviseModule;
import com.hengxinguotong.hxgtwygsp.ui.notice.NoticeActivity;
import com.hengxinguotong.hxgtwygsp.ui.notice.NoticeModule;
import com.hengxinguotong.hxgtwygsp.ui.propertyService.PropertyServiceActivity;
import com.hengxinguotong.hxgtwygsp.ui.propertyService.PropertyServiceModule;
import com.hengxinguotong.hxgtwygsp.ui.publicInfo.PublicInfoActivity;
import com.hengxinguotong.hxgtwygsp.ui.publicInfo.PublicInfoModule;
import com.hengxinguotong.hxgtwygsp.ui.readFile.FileDisplayActivity;
import com.hengxinguotong.hxgtwygsp.ui.readFile.FileDisplayModule;
import com.hengxinguotong.hxgtwygsp.ui.regulation.RegulationActivity;
import com.hengxinguotong.hxgtwygsp.ui.regulation.RegulationModule;
import com.hengxinguotong.hxgtwygsp.ui.revenue.RevenueActivity;
import com.hengxinguotong.hxgtwygsp.ui.revenue.RevenueModule;
import com.hengxinguotong.hxgtwygsp.ui.supervise.SuperviseActivity;
import com.hengxinguotong.hxgtwygsp.ui.supervise.SuperviseModule;
import com.hengxinguotong.hxgtwygsp.ui.supervisePhone.SupervisePhoneActivity;
import com.hengxinguotong.hxgtwygsp.ui.supervisePhone.SupervisePhoneModule;
import com.hengxinguotong.hxgtwygsp.ui.web.WebActivity;

import dagger.Module;
import dagger.android.ContributesAndroidInjector;

/**
 * TODO
 *
 * @author hjz
 * @version V1.0.0
 * @since 2018/12/22 11:33
 */

@Module
public abstract class BindModule
{
    @ActivityScoped
    @ContributesAndroidInjector(modules = LoginModule.class)
    abstract LoginActivity bindLoginActivity();

    @ActivityScoped
    @ContributesAndroidInjector(modules = MainModule.class)
    abstract MainActivity bindMainActivity();

    @FragmentScoped
    @ContributesAndroidInjector(modules = VideoModule.class)
    abstract VideoFragment bindVideoFragment();

    @FragmentScoped
    @ContributesAndroidInjector(modules = TextModule.class)
    abstract TextFragment bindTextFragment();

    @FragmentScoped
    @ContributesAndroidInjector(modules = PictureModule.class)
    abstract PictureFragment bindPictureFragment();

    @ActivityScoped
    @ContributesAndroidInjector(modules = MemberModule.class)
    abstract MemberActivity bindMemberActivity();

    @ActivityScoped
    @ContributesAndroidInjector(modules = RevenueModule.class)
    abstract RevenueActivity bindRevenueActivity();

    @ActivityScoped
    @ContributesAndroidInjector(modules = MaintenanceModule.class)
    abstract MaintenanceActivity bindMaintenanceActivity();

    @ActivityScoped
    @ContributesAndroidInjector(modules = NoticeModule.class)
    abstract NoticeActivity bindNoticeActivity();

    @ActivityScoped
    @ContributesAndroidInjector
    abstract WebActivity bindWebActivity();

    @ActivityScoped
    @ContributesAndroidInjector(modules = RegulationModule.class)
    abstract RegulationActivity bindRegulationActivity();

    @ActivityScoped
    @ContributesAndroidInjector(modules = SuperviseModule.class)
    abstract SuperviseActivity bindSuperviseActivity();

    @ActivityScoped
    @ContributesAndroidInjector(modules = PublicInfoModule.class)
    abstract PublicInfoActivity bindPublicInfoActivity();

    @ActivityScoped
    @ContributesAndroidInjector(modules = PropertyServiceModule.class)
    abstract PropertyServiceActivity bindPropertyServiceActivity();

    @ActivityScoped
    @ContributesAndroidInjector(modules = SupervisePhoneModule.class)
    abstract SupervisePhoneActivity bindSupervisePhoneActivity();

    @ActivityScoped
    @ContributesAndroidInjector(modules = FileDisplayModule.class)
    abstract FileDisplayActivity bindFileDisplayActivity();

    @ActivityScoped
    @ContributesAndroidInjector(modules = ImgViewModule.class)
    abstract ImgViewActivity mImgViewActivity();

    @ActivityScoped
    @ContributesAndroidInjector(modules = CommonFacilityModule.class)
    abstract CommonFacilityActivity mCommonFacilityActivity();

    @ActivityScoped
    @ContributesAndroidInjector(modules = PublicRevenueInModule.class)
    abstract PublicRevenueInActivity mPublicRevenueInActivity();

    @ActivityScoped
    @ContributesAndroidInjector(modules = PropertyServiceContentAndStandardModule.class)
    abstract PropertyServiceContentAndStandardActivity mPropertyServiceContentAndStandardActivity();

    @ActivityScoped
    @ContributesAndroidInjector(modules = ProjectLeaderModule.class)
    abstract ProjectLeaderActivity mProjectLeaderActivity();

    @ActivityScoped
    @ContributesAndroidInjector(modules = PeriodicReportModule.class)
    abstract PeriodicReportActivity mPeriodicReportActivity();

    @ActivityScoped
    @ContributesAndroidInjector(modules = OwnerComplainEvaluateModule.class)
    abstract OwnerComplainEvaluateActivity mOwnerComplainEvaluateActivity();

    @ActivityScoped
    @ContributesAndroidInjector(modules = OutsourceServiceModule.class)
    abstract OutsourceServiceActivity mOutsourceServiceActivity();

    @ActivityScoped
    @ContributesAndroidInjector(modules = PropertySuperviseModule.class)
    abstract PropertySuperviseInfoActivity mPropertySuperviseInfoActivity();

    @ActivityScoped
    @ContributesAndroidInjector(modules = PropertyFeePaymentModule.class)
    abstract PropertyFeePaymentActivity mPropertyFeePaymentActivity();

    @ActivityScoped
    @ContributesAndroidInjector(modules = MaintenanceFundModule.class)
    abstract MaintenanceFundActivity mMaintenanceFundActivity();
}
